define([ "profesor/js/profesor-util", "_","stjs", "common/js/user-module" ], function(
		app, _,stjs) {
	app.config(function($stateProvider, $urlRouterProvider) {
		$urlRouterProvider.otherwise("/asignaturas");
		$stateProvider.state("asignaturas", {
			url : '/asignaturas',
			templateUrl : '/profesor/asignaturas.html',
			controller : 'AsignaturasCtrl'
		});
		$stateProvider.state("asignaturas.asignatura", {
			url : '/:idMateria/:idCurso',
			templateUrl : '/profesor/asignatura.html',
			//controller : 'AsignaturaCtrl',
			abstract:true
		});
		
		$stateProvider.state("asignaturas.asignatura.actual", {
			url : '/actual',
			templateUrl : '/profesor/asignatura-actual.html',
			controller : 'AsignaturaActualCtrl'
		});
		
		$stateProvider.state("asignaturas.asignatura.anteriores", {
			url : '/anteriores',
			templateUrl : '/profesor/asignatura-anteriores.html',
			controller : 'AsignaturaAnterioresCtrl'
		});
		$stateProvider.state("indicadores", {
			url : '/indicadores',
			templateUrl : '/profesor/indicadores-nav.html',
			controller : 'IndicadoresCtrl'
		});
		$stateProvider.state("indicadores.mg", {
			url : '/mg/:idMateria/:idGrado',
			templateUrl : '/profesor/indicadores.html',
			controller : 'IndicadoresMateriaCtrl'
		});
		$stateProvider.state("tareas", {
			url : '/tareas',
			templateUrl : '/profesor/tareas-nav.html',
			controller : 'TareasCtrl'
		});

	});
	@ClassDef:client.profesor.ProfesorScope@
	app.controller("ProfesorCtrl",stjs.toAngularCtrl(ProfesorScope));
	
	app.controller("AsignaturasCtrl", function($scope, Profesor, $state) {
		$scope.asignaturas = Profesor.getMisAsignaturas();
	});
	
	@ClassDef:client.profesor.AsignaturaActualScope@
	app.controller("AsignaturaActualCtrl", stjs.toAngularCtrl(AsignaturaActualScope));

	@ClassDef:client.profesor.AsignaturaAnterioresScope@
	app.controller("AsignaturaAnterioresCtrl", stjs.toAngularCtrl(AsignaturaAnterioresScope));
	
	@ClassDef:client.profesor.IndicadoresScope@
	app.controller("IndicadoresCtrl",stjs.toAngularCtrl(IndicadoresScope));

	 
	@ClassDef:client.profesor.IndicadoresMateriaScope@
	app.controller("IndicadoresMateriaCtrl",stjs.toAngularCtrl(IndicadoresMateriaScope));
	
	@ClassDef:client.profesor.TareasScope@
	app.controller("TareasCtrl",stjs.toAngularCtrl(TareasScope));
	return app;

});
